package com.jasiri.project.utils.config

import com.jasiri.project.utils.sp.SPUtils

/**
 * Sikadwa
 * @Author wwdeng
 * @CreateTime: 2024/5/21 15:15
 * @Annotation：App 配置文件
 */
object Configs {

    /**
     * APP 名称（大写）
     */
    const val AppName = "JASIRILOAN"
    /**
     * 隐私协议
     */
    const val PrivacyPolicyLink = "https://sites.google.com/maxpas-info.online/jasiri-loan/tanzania-sw"

    object SPKEY{

        /**
         * App 转发时区id Key
         */
        const val JASIRI_TIMEZONE_ID = "${AppName}_TimeZone_Id"
        /**
         * App 转发时区 Key
         */
        const val JASIRI_TIMEZONE = "${AppName}_TimeZone"
        /**
         * App 转发时区 区号  Key
         */
        const val JASIRI_TIMEZONE_CODE = "${AppName}_TimeZone_Code"
        /**
         * App 转发时区 国家标识  Key
         */
        const val JASIRI_TIMEZONE_COUNTRY = "${AppName}_TimeZone_Country"

        /**
         * 业务APP 配置请求
         */
        const val JASIRI_COMMON = "${AppName}_Common"

        /**
         * 用户登录状态
         */
        const val JASIRI_LOGIN = "${AppName}_isLogin"

        /**
         * 用户id（userId）
         * 登录接口获取 VH7vqSZFdCIj0qGuSRAZw
         */
        const val JASIRI_USERID = "${AppName}_UserId"

        /**
         * 用户Token
         * 登录接口获取 VH7vqSZFdCIj0qGuSRAZw
         */
        const val JASIRI_TOKEN = "${AppName}_Token"

        /**
         * 用户号码
         * 登录页面获取
         */
        const val JASIRI_MOBILE = "${AppName}_Mobile"

        /**
         * 是否是审核账号
         * 登录时保存
         */
        const val JASIRI_IS_CONFIG_ACCOUNT = "${AppName}_isConfigAccount"

        /**
         * 是否是渠道用户
         * 登录接口获取
         */
        const val JASIRI_IS_ADSOURCE = "${AppName}_isAdSource"

        /**
         * 用户流程状态
         */
        const val JASIRI_PROCESS = "${AppName}_Process"

        /**
         * Active Dialog Show Num
         */
        const val JASIRI_DIALOG_ACTIVE_NUM = "${AppName}_Dialog_Active_Num"
        /**
         * Normal Dialog Show Num
         */
        const val JASIRI_DIALOG_NORMAL_NUM = "${AppName}_Dialog_Normal_Num"

        /**
         * 权限声明操作状态 : 0未操作  1已同意  -1拒绝
         */
        const val JASIRI_PERMISSION_REASON_STATUS = "${AppName}PermissionReasonStatus"

    }

    /**
     * 事件
     */
    object Event{
        /**
         * 更新用户流程状态广播
         */
        const val PROCESS_REFRESH = "process_refresh"
        /**
         * 更新用户流程状态广播已完成
         */
        const val PROCESS_REFRESHED = "process_refreshed"
    }

    /**
     * 保存String
     */
    fun saveSPString(key: String,value: String){
        SPUtils.put(key,value)
    }

    /**
     * 保存Boolean
     */
    fun saveSPBoolean(key: String,value: Boolean){
        SPUtils.put(key,value)
    }

    /**
     * 保存Int
     */
    fun saveSPInt(key: String,value: Int){
        SPUtils.put(key,value)
    }

    /**
     * 获取String
     */
    fun getSPString(key: String): String{
        return SPUtils.getString(key)
    }

    /**
     * 获取boolean
     */
    fun getSPBoolean(key: String): Boolean{
        return SPUtils.getBoolean(key,false)
    }

    /**
     * 获取Int
     */
    fun getSPInt(key: String): Int{
        return SPUtils.getInt(key,0)
    }

    /**
     * 坦桑尼亚  255
     */
    fun isTanz(): Boolean{
        val timeZone = getSPString(SPKEY.JASIRI_TIMEZONE)
        return timeZone.endsWith("tanz")
    }

    /**
     * 是否是法语地区
     *  desc：地区转发（timeZone） 以 fcfa、xaf、senegal 结尾，则定义为法语地区
     */
    fun isFrench(): Boolean{
        val timeZone = getSPString(SPKEY.JASIRI_TIMEZONE)
        return timeZone.endsWith("fcfa") || timeZone.endsWith("xaf") || timeZone.endsWith("senegal")
    }

}